linear programming problem - translation to russian
Diclib.com
ChatGPT AI Dictionary
Enter a word or phrase in any language 👆
Language:

Translation and analysis of words by ChatGPT artificial intelligence

On this page you can get a detailed analysis of a word or phrase, produced by the best artificial intelligence technology to date:

  • how the word is used
  • frequency of use
  • it is used more often in oral or written speech
  • word translation options
  • usage examples (several phrases with translation)
  • etymology

linear programming problem - translation to russian

PROGRAMMING METHOD TO ACHIEVE THE BEST OUTCOME IN A MATHEMATICAL MODEL
Linear program; Linear programme; 0-1 integer programming; Linear Programming; Linear optimization; Mixed integer programming; Lp solve; LP problem; 0–1 integer program; 0-1 linear programming; 0-1 integer program; Linear programmer; Linear programmers; Linear programs; Binary integer programming; Integer programs; Integer linear programs; 0-1 integer programs; Binary integer program; Binary integer programs; Mixed integer program; Mixed integer programs; Linear programming problem; Mixed integer linear programming; 1-0 linear programming; Integral linear program; Linear programming formulation; Linear optimisation; Linear programming Formulation; Integral polyhedron; Linear problem; LP duality; Complementary slackness; Algorithms for linear programming; Linear programming algorithms; Applications of linear programming; List of solvers for linear programming; List of linear programming solvers; History of linear programming; MILP
  • planes]] (not shown). The linear programming problem is to find a point on the polyhedron that is on the plane with the highest possible value.
  • [[John von Neumann]]
  • [[Leonid Kantorovich]]
  • convex]] [[feasible region]] of possible values for those variables. In the two-variable case this region is in the shape of a convex [[simple polygon]].
  • A pictorial representation of a simple linear program with two variables and six inequalities. The set of feasible solutions is depicted in yellow and forms a [[polygon]], a 2-dimensional [[polytope]]. The optimum of the linear cost function is where the red line intersects the polygon. The red line is a [[level set]] of the cost function, and the arrow indicates the direction in which we are optimizing.

linear programming problem         
задача линейного программирования
linear programming         
линейное программирование
complementary slackness         

теория графов

дополняющая нежёсткость

Definition

Программирование

процесс составления упорядоченной последовательности действий (программы (См. Программа)) для ЭВМ; научная дисциплина, изучающая программы для ЭВМ и способы их составления, проверки и улучшения.

Каждая ЭВМ является автоматом, состоящим из памяти, образуемой внешним и оперативным запоминающими устройствами, устройства управления (УУ) и арифметические устройства (АУ), в котором могут выполняться некоторые действия или операции. Память имеет вид занумерованной последовательности ячеек, в каждой из которых хранится порция двоичной информации в виде серии нулей и единиц. Автоматическая работа ЭВМ, управляемая программой, состоит из последовательности тактов. На каждом такте УУ выбирает из предписанной ему ячейки памяти порцию информации. Эта порция трактуется как команда, т. е. предписание АУ выполнить некоторую операцию. Обычно в ЭВМ выполнение операции состоит в том, чтобы из определённых ячеек памяти взять хранящуюся там информацию, передать её в АУ для выполнения над ней нужного действия, результат которого отправить в указанную ячейку памяти, и сообщить УУ номер ячейки следующей команды. Отдельные действия, совершаемые ЭВМ, весьма просты - это арифметические и логические операции, операции сравнения, переписывания порции информации и т.п. Т. о., составить программу для ЭВМ - это значит представить способ решения задачи в виде такой совокупности машинных команд (программы), чтобы они, будучи размещенными в памяти, поочерёдно выполняясь и вызывая одна другую, реализовали нужные вычисления.

Идея П. возникает ещё в школе при составлении "плана решения" арифметической задачи в виде серии вопросов. Существенное отличие реального П. от школьного опыта заключается в том, что программа, как правило, задаёт не одну, а несколько последовательностей действий (разветвлений), выбор между которыми зависит от значения промежуточных результатов решения задачи; выполняет некоторые группы команд многократно, автоматически определяя нужное число повторений; может предписанным образом сама себя менять или частично формировать в процессе своего выполнения.

Дополнительной особенностью П. является его трудность: размеры многих реальных программ исчисляются тысячами команд, а количество выполняемых ими действий - десятками миллионов. Такие объёмы в сочетании с элементарным характером машинных команд делают П. одновременно и очень сложным, и очень монотонным процессом.

Для преодоления этого противоречия П. придан характер многоэтапного процесса, каждый этап которого есть постепенная конкретизация и детализация плана решения задачи, полученного на предыдущем этапе. Кроме того, если правила описания плана решения задачи на некотором этапе будут точными, формальными и универсальными, т. е. применимыми к любой задаче, то тогда можно говорить о существовании некоторого языка П., используемого при составлении программы.

Языки программирования (См. Язык программирования) как способ точного формулирования задачи на разных этапах подготовки её к решению на ЭВМ сыграли фундаментальную роль в развитии П. В частности, они позволяют трактовать П. как процесс перевода задания для ЭВМ, выраженного в некотором языке, на другой язык - "язык машины". Если найти и описать точные правила такого перевода, то эти правила, в свою очередь, можно запрограммировать на ЭВМ. Полученные программы, автоматизирующие процесс П., называют трансляторами.

Процесс П. обычно состоит из следующих этапов:

Содержание каждого этапа П. можно пояснить на примере решения квадратного уравнения.

Исходная формулировка. Надо найти корни 50 квадратных уравнений вида ax2 + bx + c = 0, коэффициенты которых заданы в виде трёх таблиц Ai, Bi и Ci (i = 1,..., 50).

Алгоритмическое описание задачи получается в результате полного математического исследования её постановки, выбора стандартных или поиска новых алгоритмов выполнения всех нужных вычислений, а также уточнения, какие исходные данные надо ввести в ЭВМ и какие результаты надо получить. В данном случае алгоритмическое описание может иметь такой вид: ввести в ЭВМ таблицы коэффициентов Ai, Bi и Ci, решить каждое уравнение по общей формуле

с исследованием дискриминанта b2 - 4ac для определения случая комплексных корней; для единообразия каждый корень уравнения выдавать как комплексное число x = u + iv, полагая в случае вещественных корней мнимую часть равной нулю.

Язык П. высокого уровня - главное средство составления программ для ЭВМ. Общая особенность этих языков - их независимость от системы команд конкретных ЭВМ и фразовая структура, что в сочетании с использованием т. н. служебных слов приближает их к естественным языкам. Фразы разделяются обычно точкой с запятой; соподчинённость фраз указывается с помощью "операторных скобок" начало и конец; фразы делятся на два типа - операторы и описания. Оператор является единицей действия в языке. Различают следующие их типы: операторы присваивания, производящие подсчёт по указанной формуле и присваивающие вычисленное значение заданной переменной величине; условные операторы, которые в зависимости от результата проверки заданного условия производят выбор одной или другой ветви вычислений; операторы цикла, обеспечивающие повторное выполнение группы операторов. В описаниях указываются свойства переменных величин и других обозначений, используемых в программе. Важным свойством является "процедурный" характер языка: для любой уже составленной программы, решающей некоторую частную задачу, можно ввести символическое функциональное обозначение. Текст этой программы вместе с её обозначением называется описанием процедуры или подпрограммой. Тогда при составлении новой программы всюду, где может потребоваться использование этой описанной процедуры, достаточно упомянуть её функциональное обозначение в виде оператора процедуры вместо переписывания полного текста подпрограммы.

В 70-х гг. 20 в. существует целое семейство таких языков П.: алгол-60, фортран для решения инженерных и научных задач, кобол для экономических расчётов, симула для П. математических моделей, более мощные языки алгол-68 и ПЛ/1, охватывающие все виды применений ЭВМ. Для всех из них существуют трансляторы, обеспечивающие автоматическое построение машинных программ для задач, выраженных в этих языках.

Программа решения квадратного уравнения, записанная на языке алгол-60 (адаптированном):

начало вещественные массивы А, В, С [1: 50];

вещественные а, b, с, u1, υ1, u2, υ2;

целое i, ввод (A, В, С);

для i: = шаг 1 до 50 цикл

начало а: = A [i]; b: = B [i]; c = C [i];

если , то

начало υ1: = υ2: = 0; u1:= -b + корень ;

u 2:= - b - корень ;

конец иначе

начало υ1: = корень ;

υ2: = - υ1; u1:= u2:

конец; вывод (u1, υ1, u2, υ2)

конец

конец

Машинно-ориентированный язык представляет программы в терминах команд ЭВМ, но выраженных в более удобной для употребления символике, нежели прямое двоичное представление. Он используется на промежуточном этапе процесса автоматической трансляции с языка более высокого уровня или же как язык П., когда программа по существу сразу должна быть сконструирована в терминах машинных команд. В последнем случае роль языка высокого уровня часто играет язык блок-схем, когда структура программы, т. е. последовательность выполнения её "блоков", наличие разветвления и повторяющихся участков показываются в графической форме, а функции каждого блока записываются в произвольной текстовой форме. Ниже следует пример блок-схемы решения квадратного уравнения:

После составления программы неотъемлемым этапом П. является "отладка" программы, т. е. обнаружение и исправление ошибок, допускаемых при П. Основное средство отладки - т. н. отладочные запуски, когда в программу добавляются дополнительные "измерительные" действия, позволяющие по ходу выполнения программы на ЭВМ выдавать "протокол" её работы (порядок выполнения команд, значения промежуточных результатов и т.п.). Исследование протокола позволяет судить о том, в какой степени программа соответствует замыслу программиста.

Развитие П. как науки началось с 1947 в работах американских математиков Дж. Неймана, А. Беркса и Г. Голдстайна, которые описали принципы ЭВМ, управляемой программой, хранящейся в памяти. Они же ввели в употребление блок-схемы программы. Понятие подпрограммы и методики её использования было введено в 1951 английскими учёными М. Уилксом, Дж. Уилером и С. Гиллом. Советский математик А. А. Ляпунов, первым в СССР прочитавший в МГУ в 1952 курс П., определил П. как многоэтапный процесс и ввёл в П. аппарат символических обозначений, явившийся предвестником языков П. высокого уровня. Идея автоматизации программирования (См. Автоматизация программирования) путём трансляции программы, записанной на языке П., была реализована в США Дж. У. Бейкусом (язык фортран) и Г. Хоппер и в СССР С. С. Камыниным, Э. З. Любимским, М. Р. Шура-Бурой и А. П. Ершовым (1954-56). К 1960 в США был разработан язык кобол и международный язык П. алгол-60 (группой учёных из 6 стран). В 60-е гг. развитие П. шло по пути совершенствования и универсализации языков П., нашедших своё воплощение в языках алгол-68, ПЛ/1 и симула, разработки методов формального и строгого описания языков П., развития теории и техники построения трансляторов, создания библиотек стандартных подпрограмм. Особое развитие получили машинно-ориентированные языки П. в направлении объединения ряда черт языков высокого уровня (процедурность, фразовая структура) с адаптируемостью к особенностям конкретной ЭВМ. Для некоторых классов задач предприняты успешные попытки расширить область применения автоматизации П. путём формализации способов алгоритмического описания задачи или даже её исходной формулировки. Это привело к понятиям проблемно-ориентированных языков П., неалгоритмических языков П. и т.п.

Лит.: Лавров С. С., Введение в программирование, М., 1973: его же, Универсальный язык программирования. (АЛГОЛ 60), 3 изд., М., 1972; Жоголев Е. А., Трифонов Н. П., Курс программирования, 3 изд., М., 1971; Джермейн К. Б., Программирование на 1ВМ/360, пер. с англ., 2 изд., М., 1973; Стэбли Д., Логическое программирование в системе 360, пер. с англ., М., 1974.

А. П. Ершов.

Рис. к ст. Программирование.

Wikipedia

Linear programming

Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is a special case of mathematical programming (also known as mathematical optimization).

More formally, linear programming is a technique for the optimization of a linear objective function, subject to linear equality and linear inequality constraints. Its feasible region is a convex polytope, which is a set defined as the intersection of finitely many half spaces, each of which is defined by a linear inequality. Its objective function is a real-valued affine (linear) function defined on this polyhedron. A linear programming algorithm finds a point in the polytope where this function has the smallest (or largest) value if such a point exists.

Linear programs are problems that can be expressed in canonical form as

Find a vector x that maximizes c T x subject to A x b and x 0 . {\displaystyle {\begin{aligned}&{\text{Find a vector}}&&\mathbf {x} \\&{\text{that maximizes}}&&\mathbf {c} ^{\mathsf {T}}\mathbf {x} \\&{\text{subject to}}&&A\mathbf {x} \leq \mathbf {b} \\&{\text{and}}&&\mathbf {x} \geq \mathbf {0} .\end{aligned}}}

Here the components of x are the variables to be determined, c and b are given vectors (with c T {\displaystyle \mathbf {c} ^{\mathsf {T}}} indicating that the coefficients of c are used as a single-row matrix for the purpose of forming the matrix product), and A is a given matrix. The function whose value is to be maximized or minimized ( x c T x {\displaystyle \mathbf {x} \mapsto \mathbf {c} ^{\mathsf {T}}\mathbf {x} } in this case) is called the objective function. The inequalities Ax ≤ b and x0 are the constraints which specify a convex polytope over which the objective function is to be optimized. In this context, two vectors are comparable when they have the same dimensions. If every entry in the first is less-than or equal-to the corresponding entry in the second, then it can be said that the first vector is less-than or equal-to the second vector.

Linear programming can be applied to various fields of study. It is widely used in mathematics and, to a lesser extent, in business, economics, and some engineering problems. Industries that use linear programming models include transportation, energy, telecommunications, and manufacturing. It has proven useful in modeling diverse types of problems in planning, routing, scheduling, assignment, and design.

What is the Russian for linear programming problem? Translation of &#39linear programming problem&#3